/***********************************************
 @Name :        qian
 @Time :        2025-6-22
 @Email :       13347217372@163.com
 @Comment :     功能窗口 天气预报
 @FileName :    widget_assist_smart_weather.h
 @Version :     1.0
************************************************/

#ifndef WIDGET_FUNCD_WEATHER_H
#define WIDGET_FUNCD_WEATHER_H

#include "search.h"
#include "weatherinfo.h"
#include "weather_lable.h"

#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QVector>
#include <QMouseEvent>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QVBoxLayout>
#include <QNetworkAccessManager>
#include <QMessageBox>
#include <QNetworkReply>

namespace Ui {
class Widget_funcD_Weather;
}


class Widget_funcD_Weather : public QWidget
{
    Q_OBJECT
    
public:
    explicit Widget_funcD_Weather(QWidget *parent = nullptr);
    ~Widget_funcD_Weather();
    
    
       
       
private slots:
    void onCityIdReceived(const QString &cityId); // 接收城市ID
    void onNetworkReply(QNetworkReply *reply);    // 网络响应
    
private:
    
    Ui::Widget_funcD_Weather *ui;
    
    QString getWeatherIconPath(const QString &weatherType);
    void updateWeatherIcon(const QString &weatherType);
    
    QNetworkAccessManager *m_netManager;  // 网络管理器
    WeatherInfo m_weatherInfo;            // 天气解析对象
    QByteArray m_jsonData;                // 存储JSON数据
    
    void requestWeather(const QString &cityId); // 发起天气请求
    void showWeather();                     // 显示天气信息
};

#endif // WIDGET_FUNCD_WEATHER_H
